﻿#ifndef ITEMADD_H
#define ITEMADD_H

#include <QDialog>
#include <QMetaEnum>
#include <QString>
#include <QKeyEvent>
#include <QFileInfo>
#include <QFileDialog>
#include <QMessageBox>
#include <QSqlQuery>
#include <QSqlError>

#include <QDebug>

#define PRE_IMG "#IMG#"
#define KEY_NULL "None"

namespace Ui {
class ItemAdd;
}

class ItemAdd : public QDialog
{
    Q_OBJECT

public:
    explicit ItemAdd(QWidget *parent, const QString &table);
    ~ItemAdd();

    void keyPressEvent(QKeyEvent *event);
    bool addItem(const QString &key, const QString &label, const QString &detail);
    bool updateItem(const QString &label, const QString &detail);

    void setKey(const QString &key);
    void setLabel(const QString &label);
    void setDetail(const QString &detail);
    void triggerEditMode();
    void changeState(bool flag);

private slots:
    void on_check_stateChanged(int arg1);

    void on_btn_pick_clicked();

    void on_btn_submit_clicked();

private:
    Ui::ItemAdd *ui;

    bool isEditMode;
    QString _table;
    QMetaEnum keyType;
    bool isLockKey;

    QString _key;
    QString _label,_detail;
};

#endif // ITEMADD_H
